/*
 * Powered By xTOOLs
 * Dev by tao.li8@pactera.com
 * Copyright ©2009-2018 pactera.com All rights reserved.
 * Generated at 2020-7-1 10:53:27
 */

package com.pactera.jep.service.yapin.coll.model;

import com.pactera.jep.web.entity.Result;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Digits;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.*;
import java.math.BigDecimal;

import com.pactera.jep.commons.DateUtils;
import com.pactera.jep.entity.PO;

/**
 * 押品种类表实体类
 * @Author YourName
 * @Date 2020-7-1 10:53:27
 */
@ApiModel(value = "CollateralCatalog" , description = "押品种类表")
@Entity
@Table(name = "bs_col_collateral_catalog")
public class CollateralCatalog implements PO {

    @ApiModelProperty("押品分类ID")
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Length(max = 36, message = "押品分类ID长度最多36位")
    @Column(name = "CATALOG_ID")
    private String catalogId;

    @ApiModelProperty("押品分类代码")
    @Length(max = 20, message = "押品分类代码长度最多20位")
    @Column(name = "CATALOG_CD")
    private String catalogCd;

    @ApiModelProperty("押品分类名称")
    @Length(max = 100, message = "押品分类名称长度最多100位")
    @Column(name = "CATALOG_NM")
    private String catalogNm;

    @ApiModelProperty("抵质押物类型代码")
    @Length(max = 20, message = "抵质押物类型代码长度最多20位")
    @Column(name = "CLT_CGY_CD")
    private String cltCgyCd;

    @ApiModelProperty("押品分类级别")
    @Digits(integer = 35, fraction = 30, message = "押品分类级别不能超过65位")
    @Column(name = "CATALOG_LVL")
    private BigDecimal catalogLvl;

    @ApiModelProperty("押品分类父类代码")
    @Length(max = 20, message = "押品分类父类代码长度最多20位")
    @Column(name = "PARENT_CATALOG_CD")
    private String parentCatalogCd;

    @ApiModelProperty("风险排序")
    @Digits(integer = 35, fraction = 30, message = "风险排序不能超过65位")
    @Column(name = "RISK_ORDER_NO")
    private BigDecimal riskOrderNo;

    @ApiModelProperty("支持的评估方法")
    @Length(max = 100, message = "支持的评估方法长度最多100位")
    @Column(name = "SUPPORTIVE_EVAL_MTD")
    private String supportiveEvalMtd;

    @ApiModelProperty("是否允许直接评估")
    @Length(max = 20, message = "是否允许直接评估长度最多20位")
    @Column(name = "IMMEDIATE_EVAL_FLG")
    private String immediateEvalFlg;

    @ApiModelProperty("是否允许单独设押")
    @Length(max = 20, message = "是否允许单独设押长度最多20位")
    @Column(name = "GUAR_ALONE_FLG")
    private String guarAloneFlg;

    @ApiModelProperty("是否权重法下合格信用风险缓释工具")
    @Length(max = 20, message = "是否权重法下合格信用风险缓释工具长度最多20位")
    @Column(name = "CREDIT_RISK_MIT_FLG")
    private String creditRiskMitFlg;

    @ApiModelProperty("是否允许维护押品")
    @Length(max = 20, message = "是否允许维护押品长度最多20位")
    @Column(name = "MAINTAIN_FLG")
    private String maintainFlg;

    @ApiModelProperty("抵质押率上限")
    @Digits(integer = 8, fraction = 8, message = "抵质押率上限不能超过16位")
    @Column(name = "UPPER_LIM_LTV_RT")
    private BigDecimal upperLimLtvRt;

    @ApiModelProperty("重估周期")
    @Digits(integer = 35, fraction = 30, message = "重估周期不能超过65位")
    @Column(name = "REEVAL_PRD")
    private BigDecimal reevalPrd;

    @ApiModelProperty("重估周期时间单位")
    @Length(max = 20, message = "重估周期时间单位长度最多20位")
    @Column(name = "REEVAL_PRD_UNT_CD")
    private String reevalPrdUntCd;

    @ApiModelProperty("详细信息模板编号")
    @Length(max = 20, message = "详细信息模板编号长度最多20位")
    @Column(name = "COLLDETAIL_CONF_NO")
    private String colldetailConfNo;

    @ApiModelProperty("代码编号")
    @Length(max = 40, message = "代码编号长度最多40位")
    @Column(name = "CODE_KEY")
    private String codeKey;

    @ApiModelProperty("备注")
    @Length(max = 65535, message = "备注长度最多65,535位")
    @Column(name = "REMARKS")
    private String remarks;

    @ApiModelProperty("状态")
    @Length(max = 20, message = "状态长度最多20位")
    @Column(name = "RECORD_STS")
    private String recordSts;

    @ApiModelProperty("系统创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "SYS_CREATE_TIME")
    private Date sysCreateTime;

    @ApiModelProperty("系统更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "SYS_UPDATE_TIME")
    private Date sysUpdateTime;

    @ApiModelProperty("排列顺序")
    @Digits(integer = 35, fraction = 30, message = "排列顺序不能超过65位")
    @Column(name = "ORDER_NO")
    private BigDecimal orderNo;

    @ApiModelProperty("是否合格押品")
    @Length(max = 20, message = "是否合格押品长度最多20位")
    @Column(name = "IS_VALID_CLT")
    private String isValidClt;

    @ApiModelProperty("备注")
    @Length(max = 65535, message = "备注长度最多65,535位")
    @Column(name = "REMARK")
    private String remark;

    @ApiModelProperty("租户")
    @Column(name = "TENANT_ID_")
    private String tenantId;

    @ApiModelProperty("创建人ID")
    @Column(name = "CREATED_BY_ID_")
    private String createdById;

    @ApiModelProperty("创建人名称")
    @Length(max = 64, message = "创建人名称长度最多64位")
    @Column(name = "CREATED_BY_NAME_")
    private String createdByName;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "CREATED_TIME_")
    private Date createdTime;

    @ApiModelProperty("逻辑删除标记")
    @Length(max = 1, message = "逻辑删除标记长度最多1位")
    @Column(name = "DELFLAG_")
    private String delflag;

    @ApiModelProperty("显示序号")
    @Digits(integer = 10, fraction = 0, message = "显示序号不能超过10位")
    @Column(name = "DISPLAY_ORDER_")
    private Integer displayOrder;

    @ApiModelProperty("修改人ID")
    @Length(max = 64, message = "修改ID长度最多64位")
    @Column(name = "MODIFIED_BY_ID_")
    private String modifiedById;

    @ApiModelProperty("修改人名称")
    @Length(max = 64, message = "修改人名称长度最多64位")
    @Column(name = "MODIFIED_BY_NAME_")
    private String modifiedByName;

    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "MODIFIED_TIME_")
    private Date modifiedTime;

    @ApiModelProperty("版本")
    @Digits(integer = 10, fraction = 0, message = "版本不能超过10位")
    @Column(name = "VERSION_")
    private Integer version;

    public String getCatalogId(){
        return catalogId;
    }

    public void setCatalogId(String catalogId){
        this.catalogId = catalogId;
    }
    public String getCatalogCd(){
        return catalogCd;
    }

    public void setCatalogCd(String catalogCd){
        this.catalogCd = catalogCd;
    }
    public String getCatalogNm(){
        return catalogNm;
    }

    public void setCatalogNm(String catalogNm){
        this.catalogNm = catalogNm;
    }
    public String getCltCgyCd(){
        return cltCgyCd;
    }

    public void setCltCgyCd(String cltCgyCd){
        this.cltCgyCd = cltCgyCd;
    }
    public BigDecimal getCatalogLvl(){
        return catalogLvl;
    }

    public void setCatalogLvl(BigDecimal catalogLvl){
        this.catalogLvl = catalogLvl;
    }
    public String getParentCatalogCd(){
        return parentCatalogCd;
    }

    public void setParentCatalogCd(String parentCatalogCd){
        this.parentCatalogCd = parentCatalogCd;
    }
    public BigDecimal getRiskOrderNo(){
        return riskOrderNo;
    }

    public void setRiskOrderNo(BigDecimal riskOrderNo){
        this.riskOrderNo = riskOrderNo;
    }
    public String getSupportiveEvalMtd(){
        return supportiveEvalMtd;
    }

    public void setSupportiveEvalMtd(String supportiveEvalMtd){
        this.supportiveEvalMtd = supportiveEvalMtd;
    }
    public String getImmediateEvalFlg(){
        return immediateEvalFlg;
    }

    public void setImmediateEvalFlg(String immediateEvalFlg){
        this.immediateEvalFlg = immediateEvalFlg;
    }
    public String getGuarAloneFlg(){
        return guarAloneFlg;
    }

    public void setGuarAloneFlg(String guarAloneFlg){
        this.guarAloneFlg = guarAloneFlg;
    }
    public String getCreditRiskMitFlg(){
        return creditRiskMitFlg;
    }

    public void setCreditRiskMitFlg(String creditRiskMitFlg){
        this.creditRiskMitFlg = creditRiskMitFlg;
    }
    public String getMaintainFlg(){
        return maintainFlg;
    }

    public void setMaintainFlg(String maintainFlg){
        this.maintainFlg = maintainFlg;
    }
    public BigDecimal getUpperLimLtvRt(){
        return upperLimLtvRt;
    }

    public void setUpperLimLtvRt(BigDecimal upperLimLtvRt){
        this.upperLimLtvRt = upperLimLtvRt;
    }
    public BigDecimal getReevalPrd(){
        return reevalPrd;
    }

    public void setReevalPrd(BigDecimal reevalPrd){
        this.reevalPrd = reevalPrd;
    }
    public String getReevalPrdUntCd(){
        return reevalPrdUntCd;
    }

    public void setReevalPrdUntCd(String reevalPrdUntCd){
        this.reevalPrdUntCd = reevalPrdUntCd;
    }
    public String getColldetailConfNo(){
        return colldetailConfNo;
    }

    public void setColldetailConfNo(String colldetailConfNo){
        this.colldetailConfNo = colldetailConfNo;
    }
    public String getCodeKey(){
        return codeKey;
    }

    public void setCodeKey(String codeKey){
        this.codeKey = codeKey;
    }
    public String getRemarks(){
        return remarks;
    }

    public void setRemarks(String remarks){
        this.remarks = remarks;
    }
    public String getRecordSts(){
        return recordSts;
    }

    public void setRecordSts(String recordSts){
        this.recordSts = recordSts;
    }
    public Date getSysCreateTime(){
        return sysCreateTime;
    }

    public void setSysCreateTime(Date sysCreateTime){
        this.sysCreateTime = sysCreateTime;
    }
    public Date getSysUpdateTime(){
        return sysUpdateTime;
    }

    public void setSysUpdateTime(Date sysUpdateTime){
        this.sysUpdateTime = sysUpdateTime;
    }
    public BigDecimal getOrderNo(){
        return orderNo;
    }

    public void setOrderNo(BigDecimal orderNo){
        this.orderNo = orderNo;
    }
    public String getIsValidClt(){
        return isValidClt;
    }

    public void setIsValidClt(String isValidClt){
        this.isValidClt = isValidClt;
    }
    public String getRemark(){
        return remark;
    }

    public void setRemark(String remark){
        this.remark = remark;
    }
    public String getCreatedByName(){
        return createdByName;
    }

    public void setCreatedByName(String createdByName){
        this.createdByName = createdByName;
    }
    public Date getCreatedTime(){
        return createdTime;
    }

    public void setCreatedTime(Date createdTime){
        this.createdTime = createdTime;
    }
    public String getDelflag(){
        return delflag;
    }

    public void setDelflag(String delflag){
        this.delflag = delflag;
    }
    public Integer getDisplayOrder(){
        return displayOrder;
    }

    public void setDisplayOrder(Integer displayOrder){
        this.displayOrder = displayOrder;
    }
    public String getModifiedByName(){
        return modifiedByName;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getCreatedById() {
        return createdById;
    }

    public void setCreatedById(String createdById) {
        this.createdById = createdById;
    }

    public String getModifiedById() {
        return modifiedById;
    }

    public void setModifiedById(String modifiedById) {
        this.modifiedById = modifiedById;
    }

    public void setModifiedByName(String modifiedByName){
        this.modifiedByName = modifiedByName;
    }
    public Date getModifiedTime(){
        return modifiedTime;
    }

    public void setModifiedTime(Date modifiedTime){
        this.modifiedTime = modifiedTime;
    }
    public Integer getVersion(){
        return version;
    }

    public void setVersion(Integer version){
        this.version = version;
    }
}

